#ifndef __PITCH_H__
#define __PITCH_H__

/*利用Python来编写定义
代码：
f = open('./PITCH.h', 'w')
C=44001000/((2**(1/12))**9)
Db=44001000/((2**(1/12))**8)
D=44001000/((2**(1/12))**7)
Eb=44001000/((2**(1/12))**6)
E=44001000/((2**(1/12))**5)
F=44001000/((2**(1/12))**4)
Gb=44001000/((2**(1/12))**3)
G=44001000/((2**(1/12))**2)
Ab=44001000/(2**(1/12))
A=44001000
Bb=44001000*(2**(1/12))
B=44001000*((2**(1/12))**2)
f.write('#ifndef __PITCH_H__\n')
f.write('#define __PITCH_H__\n')
f.write('\n')
for i in range(0,10):
    f.write('#define    C'+str(i)+'    '+str(int(C/(2**(4-i))))+'\n')
    f.write('#define    Db'+str(i)+'    '+str(int(Db/2**(4-i)))+'\n')
    f.write('#define    D'+str(i)+'    '+str(int(D/2**(4-i)))+'\n')
    f.write('#define    Eb'+str(i)+'    '+str(int(Eb/2**(4-i)))+'\n')
    f.write('#define    E'+str(i)+'    '+str(int(E/2**(4-i)))+'\n')
    f.write('#define    F'+str(i)+'    '+str(int(F/2**(4-i)))+'\n')
    f.write('#define    Gb'+str(i)+'    '+str(int(Gb/2**(4-i)))+'\n')
    f.write('#define    G'+str(i)+'    '+str(int(G/2**(4-i)))+'\n')
    f.write('#define    Ab'+str(i)+'    '+str(int(Ab/2**(4-i)))+'\n')
    f.write('#define    A'+str(i)+'    '+str(int(A/2**(4-i)))+'\n')
    f.write('#define    Bb'+str(i)+'    '+str(int(Bb/2**(4-i)))+'\n')
    f.write('#define    B'+str(i)+'    '+str(int(B/2**(4-i)))+'\n')
    f.write('\n')
f.write('#endif\n')
f.close()
*/

#define	C0	1635196
#define	Db0	1732430
#define	D0	1835446
#define	Eb0	1944587
#define	E0	2060219
#define	F0	2182726
#define	Gb0	2312517
#define	G0	2450027
#define	Ab0	2595713
#define	A0	2750062
#define	Bb0	2913589
#define	B0	3086840

#define	C1	3270393
#define	Db1	3464861
#define	D1	3670893
#define	Eb1	3889175
#define	E1	4120438
#define	F1	4365452
#define	Gb1	4625035
#define	G1	4900054
#define	Ab1	5191426
#define	A1	5500125
#define	Bb1	5827179
#define	B1	6173681

#define	C2	6540787
#define	Db2	6929723
#define	D2	7341786
#define	Eb2	7778351
#define	E2	8240876
#define	F2	8730904
#define	Gb2	9250070
#define	G2	9800108
#define	Ab2	10382853
#define	A2	11000250
#define	Bb2	11654358
#define	B2	12347363

#define	C3	13081575
#define	Db3	13859446
#define	D3	14683572
#define	Eb3	15556702
#define	E3	16481752
#define	F3	17461808
#define	Gb3	18500141
#define	G3	19600217
#define	Ab3	20765706
#define	A3	22000500
#define	Bb3	23308717
#define	B3	24694726

#define	C4	26163151
#define	Db4	27718893
#define	D4	29367144
#define	Eb4	31113405
#define	E4	32963504
#define	F4	34923616
#define	Gb4	37000283
#define	G4	39200434
#define	Ab4	41531413
#define	A4	44001000
#define	Bb4	46617435
#define	B4	49389452

#define	C5	52326302
#define	Db5	55437786
#define	D5	58734288
#define	Eb5	62226810
#define	E5	65927009
#define	F5	69847233
#define	Gb5	74000566
#define	G5	78400868
#define	Ab5	83062827
#define	A5	88002000
#define	Bb5	93234871
#define	B5	98778905

#define	C6	104652604
#define	Db6	110875572
#define	D6	117468576
#define	Eb6	124453621
#define	E6	131854019
#define	F6	139694467
#define	Gb6	148001132
#define	G6	156801737
#define	Ab6	166125654
#define	A6	176004000
#define	Bb6	186469742
#define	B6	197557810

#define	C7	209305209
#define	Db7	221751144
#define	D7	234937153
#define	Eb7	248907243
#define	E7	263708038
#define	F7	279388934
#define	Gb7	296002265
#define	G7	313603475
#define	Ab7	332251309
#define	A7	352008000
#define	Bb7	372939484
#define	B7	395115620

#define	C8	418610418
#define	Db8	443502288
#define	D8	469874307
#define	Eb8	497814487
#define	E8	527416077
#define	F8	558777869
#define	Gb8	592004530
#define	G8	627206951
#define	Ab8	664502618
#define	A8	704016000
#define	Bb8	745878969
#define	B8	790231241

#define	C9	837220836
#define	Db9	887004577
#define	D9	939748614
#define	Eb9	995628975
#define	E9	1054832155
#define	F9	1117555739
#define	Gb9	1184009061
#define	G9	1254413903
#define	Ab9	1329005236
#define	A9	1408032000
#define	Bb9	1491757939
#define	B9	1580462482

#endif

